;; init.el --- Emacs configuration

;; 安装包
;; --------------------------------------

(require 'package)

(add-to-list 'package-archives
       '("melpa-stable" . "https://stable.melpa.org/packages/") t)

(package-initialize)
(when (not package-archive-contents)
  (package-refresh-contents))

(defvar myPackages
  '(material-theme
    markdown-mode
    slime
))

(mapc #'(lambda (package)
    (unless (package-installed-p package)
      (package-install package)))
      myPackages)

;; 基本自定义
;; --------------------------------------

(setq inhibit-startup-message t) ;; 禁用启动信息
(load-theme 'material t) ;; 加载 material 主题
(global-linum-mode t) ;; 启用全局显示行号
(tool-bar-mode 0)
(menu-bar-mode 0)
(scroll-bar-mode 0)
(fset 'yes-or-no-p 'y-or-n-p)
;; 改变 Emacs 固执的要你回答 yes 的行为。按 y 或空格键表示 yes，n 表示 no.
(setq indent-tabs-mode t) ;; 设置tab缩进
(setq default-tab-width 2) ;; tab键为2个字符宽度
(mouse-avoidance-mode 'animate)
;; 光标靠近鼠标指针时，让鼠标指针自动让开，别挡住视线。
(setq auto-image-file-mode t)
;; 让 Emacs 可以直接打开和显示图片。
(auto-compression-mode 1) ;; 打开压缩文件时自动解压缩。
(setq make-backup-files nil) ;; 设定不产生备份文件
;;(setq auto-save-mode nil) ;; 自动保存模式
(setq-default cursor-type 'bar) ;; 光标显示为一竖线
(setq default-directory "~/workspaces/") ;; 设置打开文件的缺省路径


;; slime配置
(setq inferior-lisp-program "/usr/bin/sbcl")
(add-to-list 'slime-contribs 'slime-repl)


;; init.el ends here
